package tech.turl.community.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import tech.turl.community.controller.interceptor.AlphaInterceptor;
import tech.turl.community.controller.interceptor.DataInterceptor;
import tech.turl.community.controller.interceptor.LoginTicketInterceptor;
import tech.turl.community.controller.interceptor.MessageInterceptor;

/**
 * @author 
 * @date 2021/3/15
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  @Autowired private AlphaInterceptor alphaInterceptor;

  @Autowired private LoginTicketInterceptor loginTicketInterceptor;

  //    @Autowired
  //    private LoginRequiredInterceptor loginRequiredInterceptor;

  @Autowired private MessageInterceptor messageInterceptor;

  @Autowired private DataInterceptor dataInterceptor;

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry
        .addInterceptor(alphaInterceptor)
        .excludePathPatterns("/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg", "/*/*.jpeg")
        .addPathPatterns("/register", "/login");

    registry
        .addInterceptor(loginTicketInterceptor)
        .excludePathPatterns("/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg", "/*/*.jpeg");

    //        registry.addInterceptor(loginRequiredInterceptor)
    //                .excludePathPatterns("/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg",
    // "/*/*.jpeg");

    registry
        .addInterceptor(messageInterceptor)
        .excludePathPatterns("/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg", "/*/*.jpeg");

    registry
        .addInterceptor(dataInterceptor)
        .excludePathPatterns("/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg", "/*/*.jpeg");
  }
}
